package com.awcall.iot.model;

import java.io.Serializable;

import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 操作日志表
 * </p>
 *
 * @author wuhui
 * @since 2018-03-05
 */
@TableName("bd_operate_log")
public class OperateLog extends Model<OperateLog> {

    private static final long serialVersionUID = 1L;

	@TableId(value="id", type= IdType.AUTO)
	private Integer id;
	@TableField("statements_id")
	private Integer statementsId;
	@TableField("system_user_id")
	private Integer systemUserId;
	@TableField("system_user_name")
	private String systemUserName;
	@TableField("bank_id")
	private Integer bankId;
	@TableField("bank_name")
	private String bankName;
	@TableField("user_id")
	private Integer userId;
	@TableField("user_name")
	private String userName;
	@TableField("project_id")
	private Integer projectId;
	@TableField("project_name")
	private String projectName;
	@TableField("statements_description")
	private String statementsDescription;
	private String information;
	private Double price;
    /**
     * 类型(1 登录 2 余额充值 3 卡充值 4新增卡 5删除卡 6分配卡 )
     */
	private Integer type;
	private String ip;
    /**
     * 说明
     */
	private String description;
	@TableField(value = "created_at", fill = FieldFill.INSERT)
	private Date createdAt;
	@TableField(value = "updated_at", fill = FieldFill.INSERT_UPDATE)
	private Date updatedAt;

	@TableField(exist = false)
	private Date startDate;

	@TableField(exist = false)
	private Date endDate;

	public Integer getProjectId() {
		return projectId;
	}

	public OperateLog setProjectId(Integer projectId) {
		this.projectId = projectId;
		return this;
	}

	public String getProjectName() {
		return projectName;
	}

	public OperateLog setProjectName(String projectName) {
		this.projectName = projectName;
		return this;
	}

	public Integer getUserId() {
		return userId;
	}

	public OperateLog setUserId(Integer userId) {
		this.userId = userId;
		return this;
	}

	public String getUserName() {
		return userName;
	}

	public OperateLog setUserName(String userName) {
		this.userName = userName;
		return this;
	}

	public Integer getBankId() {
		return bankId;
	}

	public OperateLog setBankId(Integer bankId) {
		this.bankId = bankId;
		return this;
	}

	public String getBankName() {
		return bankName;
	}

	public OperateLog setBankName(String bankName) {
		this.bankName = bankName;
		return this;
	}

	public String getStatementsDescription() {
		return statementsDescription;
	}

	public OperateLog setStatementsDescription(String statementsDescription) {
		this.statementsDescription = statementsDescription;
		return this;
	}

	public String getInformation() {
		return information;
	}

	public OperateLog setInformation(String information) {
		this.information = information;
		return this;
	}

	public Double getPrice() {
		return price;
	}

	public OperateLog setPrice(Double price) {
		this.price = price;
		return this;
	}

	public Integer getStatementsId() {
		return statementsId;
	}

	public OperateLog setStatementsId(Integer statementsId) {
		this.statementsId = statementsId;
		return this;
	}

	public Date getStartDate() {
		return startDate;
	}

	public OperateLog setStartDate(Date startDate) {
		this.startDate = startDate;
		return this;
	}

	public Date getEndDate() {
		return endDate;
	}

	public OperateLog setEndDate(Date endDate) {
		this.endDate = endDate;
		return this;
	}

	public Integer getId() {
		return id;
	}

	public OperateLog setId(Integer id) {
		this.id = id;
		return this;
	}

	public Integer getSystemUserId() {
		return systemUserId;
	}

	public OperateLog setSystemUserId(Integer systemUserId) {
		this.systemUserId = systemUserId;
		return this;
	}

	public String getSystemUserName() {
		return systemUserName;
	}

	public OperateLog setSystemUserName(String systemUserName) {
		this.systemUserName = systemUserName;
		return this;
	}

	public Integer getType() {
		return type;
	}

	public OperateLog setType(Integer type) {
		this.type = type;
		return this;
	}

	public String getIp() {
		return ip;
	}

	public OperateLog setIp(String ip) {
		this.ip = ip;
		return this;
	}

	public String getDescription() {
		return description;
	}

	public OperateLog setDescription(String description) {
		this.description = description;
		return this;
	}

	public Date getCreatedAt() {
		return createdAt;
	}

	public OperateLog setCreatedAt(Date createdAt) {
		this.createdAt = createdAt;
		return this;
	}

	public Date getUpdatedAt() {
		return updatedAt;
	}

	public OperateLog setUpdatedAt(Date updatedAt) {
		this.updatedAt = updatedAt;
		return this;
	}

	public static final String ID = "id";

	public static final String SYSTEM_USER_ID = "system_user_id";

	public static final String SYSTEM_USER_NAME = "system_user_name";

	public static final String TYPE = "type";

	public static final String IP = "ip";

	public static final String DESCRIPTION = "description";

	public static final String CREATED_AT = "created_at";

	public static final String UPDATED_AT = "updated_at";

	@Override
	protected Serializable pkVal() {
		return this.id;
	}

	@Override
	public String toString() {
		return "OperateLog{" +
			", id=" + id +
			", systemUserId=" + systemUserId +
			", systemUserName=" + systemUserName +
			", type=" + type +
			", ip=" + ip +
			", description=" + description +
			", createdAt=" + createdAt +
			", updatedAt=" + updatedAt +
			"}";
	}
}
